// Magic Software, Inc.
// http://www.magic-software.com
// Copyright (c) 2000, All Rights Reserved
//
// Source code from Magic Software is supplied under the terms of a license
// agreement and may not be copied or disclosed except in accordance with the
// terms of that agreement.  The various license agreements may be found at
// the Magic Software web site.  This file is subject to the license
//
// FREE SOURCE CODE
// http://www.magic-software.com/License/free.pdf

#ifndef MGCSTRING_H
#define MGCSTRING_H


class MgcString
{
public:
    MgcString (const char* acString = 0);
    MgcString (const MgcString& rkString);
    ~MgcString ();

    // assignment
    MgcString& operator= (const MgcString& rkString);

    // comparison
    bool operator== (const MgcString& rkString) const;
    bool operator!= (const MgcString& rkString) const;

    unsigned int GetLength () const;
    operator const char* () const;

    // string map support
    operator unsigned int () const;

protected:
    char* m_acString;
};

//----------------------------------------------------------------------------
inline MgcString::operator const char* () const
{
    return m_acString;
}
//----------------------------------------------------------------------------

#endif
